{{tag>Xenial Bionic serveur multimedia media_center}}
{{ :logo:jellyfin.png?80}}

====== Jellyfin  ======
 
Jellyfin est un serveur multimedia. Il s'agit d'un fork de [[https://emby.media/|Emby]] devenu officiellement propriétaire en 2018.

Il permet de mettre sa médiathèque à disposition sur le [[:web]], qu'il s'agisse de contenu vidéo (films et séries, télévision), audio, ou d'images.

Il permet de récupérer automatiquement les informations concernant les films et les séries depuis [[https://www.imdb.com/|IMDb]] et [[https://www.themoviedb.org/|TheMovieDb]] : descriptions, affiches, réalisateurs, acteurs, etc.\\ 
Ceci permet de naviguer entre les différents réalisateurs, ou les différents genres, de trier par date, de voir tous les films avec un acteur particulier, sa photo et sa biographie etc.

De base avec Jellyfin cette médiathèque est donc accessible et visionnable avec n'importe quel navigateur web, mais il existe de plus de nombreux [[#clients]] qui permettent de simplifier son utilisation en fonction de l'appareil qu'on utilise.

On peut aussi créer des comptes supplémentaires pour partager ce contenu avec ses amis.

===== Installation =====
 
==== Méthode recommandée : Docker ====

La méthode d'installation la plus simple pour le moment est d'utiliser **[[:docker|Docker]]**.\\ 
**Jellyfin** est disponible sur [[https://hub.docker.com/r/jellyfin/jellyfin/|Docker Hub]].

Pour des raisons de simplicité (et éviter des lignes de commande à rallonge) on utilisera ici l'outil **[[https://docs.docker.com/compose/|Docker Compose]]**.

Pour commencer [[#comment_ouvrir_un_terminal|ouvrez un nouveau terminal]] et assurez-vous d'être placé dans votre répertoire ''home'' :
<code>cd</code>

Installez ensuite ces deux outils :
<code>sudo apt install docker.io docker-compose</code>

Puis créez un répertoire qui contiendra la configuration et la base de données de Jellyfin :
<code>mkdir jellyfin</code>

On créé ensuite un fichier ''docker-compose.yml'' (ici avec l'éditeur [[:nano]]) :
<code>nano docker-compose.yml</code>

Ce fichier contiendra la configuration du container ''jellyfin'' pour Docker :
<file - docker-compose.yml>version: '3'
services:
  jellyfin:
    image: jellyfin/jellyfin
    ports:
    - '8096:8096'
    network_mode: "host"
    volumes:
    - /home/utilisateur_courant/jellyfin:/config
    - /home/utilisateur_courant/Vidéos:/media
    environment:
    - UID=1000
    - GID=1000
    restart: always</file>
Ce contenu est à adapter :
  * remplacez ''utilisateur_courant'' par votre nom d'utilisateur
  * et éventuellement ''/home/utilisateur_courant/Vidéos'' par le chemin de votre médiathèque.
  * on peut aussi choisir un autre port que le port 8096, il suffit de remplacer le premier numéro de la ligne ''- '8096:8096%%'%%''.
Par ex. :
<file>- '80:8096'</file>
  * ''UID'' et ''GID'' correspondent respectivement aux ID de l'utilisateur courant et de son groupe principal. Sur Ubuntu si vous n'avez qu'un utilisateur il s'agit très probablement de ''1000'' / ''1000''. Vous pouvez vous assurer de cela avec la commande :
<code>id</code>

<note tip>D'une manière générale avec Docker pour les ''ports'', ''volumes'' et ''devices'', on spécifie à gauche l'élément de la machine hôte (par ex. le port ou le chemin local qu'on souhaite utiliser), puis '':'', puis à droite l'élément qui lui correspondra dans le container (en général on n'y touche pas, cela dépend de l'image Docker qu'on utilise).</note>

Sauvegardez et quittez (''Ctrl + O'' puis ''Ctrl + X'' avec [[:nano]]).

Vous pouvez dès lors installer Jellyfin et le lancer en une commande :
<code>sudo docker-compose up</code>

Jellyfin est alors disponible à l'adresse [[http://localhost:8096]].

Lors du premier accès, un guide d'installation (//wizard//) s'affiche, grâce auquel vous pouvez paramétrer votre serveur pas à pas :
  * choisissez par exemple //French// comme //Preferred display language//, puis cliquez sur //Next//
  * choisissez ensuite un nom d'utilisateur
  * puis ajoutez une nouvelle bibliothèque par ex. //Movies// pour des films, dans laquelle vous pouvez ajouter le //Folder// ''/media'' (tel que définit dans la colonne de droite du volume correspondant dans le fichier ''docker-compose.yml'' créé précédemment)
  * choisissez d'obtenir les //metadata// en //French// dans //Preferred metadata language//.
  * //ok// puis //Next//, choisissez les langues et pays préférés par défaut pour les //metadata//.
  * Mieux vaut désactiver l'UPnP dans un premier temps.

===== Utilisation =====

Jellyfin est disponible à l'adresse [[http://localhost:8096]].

Après l'installation vous pouvez démarrer ou arrêter le service avec ''sudo docker-compose start jellyfin'' et ''sudo docker-compose stop jellyfin''.\\ 
Si vous modifiez le fichier ''docker-compose.yml'', utilisez plutôt ''sudo docker-compose up'' et ''sudo docker-compose down''.

Un menu sandwich en haut à gauche donne accès à la gestion du serveur et au gestionnaire de métadonnées.

Vous pouvez ajouter plusieurs répertoires de médias depuis le menu -> //Gérer le serveur// -> //Médiathèque//.
<note>
Attention si vous utilisez docker, et que votre médiathèque est dispersée sur votre ou vos stockages locaux : vous devez faire correspondre chaque répertoire local à un répertoire dans le container, qui sera visible par Jellyfin (depuis un container, Jellyfin n'a pas accès à l'arborescence de l'hôte). Par ex. :
<file - docker-compose.yml>    volumes:
    - /mnt/usb/media/Vidéos:/media/Vidéos
    - /home/utilisateur_courant/Musique:/media/musique</file>
Dans cette configuration les répertoires de médiathèques à indiquer à Jellyfin seront ''/media/Vidéos'' et ''/media/musique''.
</note>
===== Clients =====

La liste des clients existants ou en développement est disponible [[https://jellyfin.readthedocs.io/en/latest/user-docs/apps/|ici]].

On peut noter en particulier :
  * une [[https://github.com/jellyfin/jellyfin-kodi|extension]] pour [[:Kodi]] qui permet de remplacer complètement son contenu.
  * une [[https://github.com/jellyfin/jellyfin-android|application pour Android]] qui n'est pas encore disponible (mais l'app **Emby for Android** est compatible au moins jusqu'à la version 3.0.27)
  * une [[https://github.com/jellyfin/jellyfin-androidtv|application pour AndroidTV]] qui n'est pas encore officiellement disponible en [[wpfr>APK_(format_de_fichier)|APK]] mais que j'ai compilée et mise à disposition [[https://github.com/jellyfin/jellyfin-androidtv/issues/26#issuecomment-455163363|ici]].
  * une [[https://github.com/jellyfin/jellyfin-theater-electron|application Jellyfin Theater]] qui devrait être fonctionnelle sur Ubuntu quand elle sera terminée.

===== Voir aussi =====

  * (//en//) [[https://github.com/jellyfin/jellyfin|site officiel]]
  * (//en//) [[https://jellyfin.readthedocs.io/|documentation officielle]]

----

//Contributeurs principaux : [[utilisateurs:krodelabestiole]]//
